/**
 * Copyright &copy; 2018-2018 <a href="#">聚成科技</a> All rights reserved.
 */
package com.jckj.core.service;

import com.jckj.core.entity.Office;
import com.jckj.core.entity.SysUser;
import com.jckj.core.exception.ServiceException;

import java.util.List;

/**
 * <p>
 *    科室管理
 * </p>
 *
 * @author 刘志远
 * @date 18-1-25
 */
public interface OfficeService{

    /**
     * 新增办公室
     * @param office
     * @return
     */
    void add(Office office) throws ServiceException;

    /**
     * 更新办办公室信息
     * @param office
     * @return
     */
    int update(Office office) throws ServiceException;

    /**
     * 删除办公室信息
     * @param officeId
     * @return
     */
    int delete(String officeId) throws ServiceException;

    /**
     * 新增办公室人员
     * @param user
     * @param officeId
     * @return
     */
    int addUser(SysUser user, String officeId) throws ServiceException;

    /**
     * 查询所有科室
     * @return
     */
    List<Office> listAll();

    /**
     * 判断科室编号
     * @param officeCode
     * @return
     * @throws ServiceException
     */
    long checkOfficeCode(String officeCode) throws ServiceException;

    /**
     * 查询下属科室
     * @param pid
     * @return
     */
    List<Office> findOfficeByPid(String pid);
}
